// Geometric Tools, Inc.
// http://www.geometrictools.com
// Copyright (c) 1998-2006.  All Rights Reserved
//
// The Wild Magic Library (WM3) source code is supplied under the terms of
// the license agreement
//     http://www.geometrictools.com/License/WildMagic3License.pdf
// and may not be copied or disclosed except in accordance with the terms
// of that agreement.

//----------------------------------------------------------------------------
inline int Renderer::GetType ()
{
    return ms_eType;
}
//----------------------------------------------------------------------------
inline void Renderer::Activate ()
{
    // stub for derived classes
}
//----------------------------------------------------------------------------
inline bool Renderer::IsActive () const
{
    // stub for derived classes
    return true;
}
//----------------------------------------------------------------------------
inline Camera* Renderer::GetCamera () const
{
    return m_pkCamera;
}
//----------------------------------------------------------------------------
inline const BufferParams& Renderer::GetBufferParams () const
{
    return m_kBufferParams;
}
//----------------------------------------------------------------------------
inline int Renderer::GetWidth () const
{
    return m_iWidth;
}
//----------------------------------------------------------------------------
inline int Renderer::GetHeight () const
{
    return m_iHeight;
}
//----------------------------------------------------------------------------
inline void Renderer::ToggleFullscreen ()
{
    m_bFullscreen = !m_bFullscreen;
}
//----------------------------------------------------------------------------
inline void Renderer::SetBackgroundColor (const ColorRGBA& rkColor)
{
    m_kBackgroundColor = rkColor;
}
//----------------------------------------------------------------------------
inline const ColorRGBA& Renderer::GetBackgroundColor () const
{
    return m_kBackgroundColor;
}
//----------------------------------------------------------------------------
inline bool Renderer::BeginScene ()
{
    // stub for derived classes
    return true;
}
//----------------------------------------------------------------------------
inline void Renderer::EndScene ()
{
    // stub for derived classes
}
//----------------------------------------------------------------------------
inline void Renderer::SetPointSize (float fSize)
{
    if (fSize > 0.0f)
    {
        m_fPointSize = fSize;
    }
}
//----------------------------------------------------------------------------
inline float Renderer::GetPointSize () const
{
    return m_fPointSize;
}
//----------------------------------------------------------------------------
inline void Renderer::SetLineWidth (float fWidth)
{
    if (fWidth > 0.0f)
    {
        m_fLineWidth = fWidth;
    }
}
//----------------------------------------------------------------------------
inline float Renderer::GetLineWidth () const
{
    return m_fLineWidth;
}
//----------------------------------------------------------------------------
inline void Renderer::SetLineStipple (int iRepeat, unsigned short usPattern)
{
    if (iRepeat < 0)
    {
        iRepeat = 0;
    }
    m_iLineStippleRepeat = iRepeat;
    m_usLineStipplePattern = usPattern;
}
//----------------------------------------------------------------------------
inline int Renderer::GetLineStippleRepeat () const
{
    return m_iLineStippleRepeat;
}
//----------------------------------------------------------------------------
inline unsigned short Renderer::GetLineStipplePattern () const
{
    return m_usLineStipplePattern;
}
//----------------------------------------------------------------------------
inline int Renderer::GetMaxLights () const
{
    return m_iMaxLights;
}
//----------------------------------------------------------------------------
inline int Renderer::GetMaxTextures () const
{
    return m_iMaxTextures;
}
//----------------------------------------------------------------------------
inline int Renderer::GetMaxStencilIndices () const
{
    return m_iMaxStencilIndices;
}
//----------------------------------------------------------------------------
inline Texture* Renderer::GetTarget ()
{
    return m_pkTarget;
}
//----------------------------------------------------------------------------
